package com.github.winyiwin;

public class ThreadPoolStatusInfo {

    private String threadPoolName;

    private int corePoolSize;

    private int maximumPoolSize;

    private int poolSize;
    // the largest number of threads that have ever simultaneously been in the pool.
    private int largestPoolSize;

    private int activeCount;

    private long completedTaskCount;

    private long taskCount;
    private long rejectCount;

    private String rejectedExecutionHandler;

    // -------------Queue info

    private String queueType;
    private int queueCapacity;
    private int queueSize;
    private int queueRemainingCapacity;


    public String getThreadPoolName() {
        return threadPoolName;
    }

    public void setThreadPoolName(String threadPoolName) {
        this.threadPoolName = threadPoolName;
    }

    public int getCorePoolSize() {
        return corePoolSize;
    }

    public void setCorePoolSize(int corePoolSize) {
        this.corePoolSize = corePoolSize;
    }

    public int getMaximumPoolSize() {
        return maximumPoolSize;
    }

    public void setMaximumPoolSize(int maximumPoolSize) {
        this.maximumPoolSize = maximumPoolSize;
    }

    public int getPoolSize() {
        return poolSize;
    }

    public void setPoolSize(int poolSize) {
        this.poolSize = poolSize;
    }

    public int getLargestPoolSize() {
        return largestPoolSize;
    }

    public void setLargestPoolSize(int largestPoolSize) {
        this.largestPoolSize = largestPoolSize;
    }

    public int getActiveCount() {
        return activeCount;
    }

    public void setActiveCount(int activeCount) {
        this.activeCount = activeCount;
    }

    public long getCompletedTaskCount() {
        return completedTaskCount;
    }

    public void setCompletedTaskCount(long completedTaskCount) {
        this.completedTaskCount = completedTaskCount;
    }

    public long getTaskCount() {
        return taskCount;
    }

    public void setTaskCount(long taskCount) {
        this.taskCount = taskCount;
    }

    public long getRejectCount() {
        return rejectCount;
    }

    public void setRejectCount(long rejectCount) {
        this.rejectCount = rejectCount;
    }

    public String getRejectedExecutionHandler() {
        return rejectedExecutionHandler;
    }

    public void setRejectedExecutionHandler(String rejectedExecutionHandler) {
        this.rejectedExecutionHandler = rejectedExecutionHandler;
    }

    public String getQueueType() {
        return queueType;
    }

    public void setQueueType(String queueType) {
        this.queueType = queueType;
    }

    public int getQueueCapacity() {
        return queueCapacity;
    }

    public void setQueueCapacity(int queueCapacity) {
        this.queueCapacity = queueCapacity;
    }

    public int getQueueSize() {
        return queueSize;
    }

    public void setQueueSize(int queueSize) {
        this.queueSize = queueSize;
    }

    public int getQueueRemainingCapacity() {
        return queueRemainingCapacity;
    }

    public void setQueueRemainingCapacity(int queueRemainingCapacity) {
        this.queueRemainingCapacity = queueRemainingCapacity;
    }

    @Override
    public String toString() {
        return "ThreadPoolStatusInfo{" +
                "threadPoolName='" + threadPoolName + '\'' +
                ", corePoolSize=" + corePoolSize +
                ", maximumPoolSize=" + maximumPoolSize +
                ", poolSize=" + poolSize +
                ", largestPoolSize=" + largestPoolSize +
                ", activeCount=" + activeCount +
                ", completedTaskCount=" + completedTaskCount +
                ", taskCount=" + taskCount +
                ", rejectCount=" + rejectCount +
                ", rejectedExecutionHandler='" + rejectedExecutionHandler + '\'' +
                ", queueType='" + queueType + '\'' +
                ", queueCapacity=" + queueCapacity +
                ", queueSize=" + queueSize +
                ", queueRemainingCapacity=" + queueRemainingCapacity +
                '}';
    }
}
